package cn.source.system.service;

import cn.source.system.domain.DeyuDialysis;

import java.util.List;

/**
 * 腹透记录Service接口
 * 
 * @author deyucare.com
 * @date 2025-02-20
 */
public interface IDeyuDialysisService 
{
    /**
     * 查询腹透记录
     * 
     * @param deyuDialysis 腹透记录主键
     * @return 腹透记录
     */
    public DeyuDialysis selectDeyuDialysisById(DeyuDialysis deyuDialysis);

    /**
     * 查询腹透记录列表
     * 
     * @param deyuDialysis 腹透记录
     * @return 腹透记录集合
     */
    public List<DeyuDialysis> selectDeyuDialysisList(DeyuDialysis deyuDialysis);

    /**
     * 新增腹透记录
     * 
     * @param deyuDialysis 腹透记录
     * @return 结果
     */
    public int insertDeyuDialysis(DeyuDialysis deyuDialysis);

    /**
     * 修改腹透记录
     * 
     * @param deyuDialysis 腹透记录
     * @return 结果
     */
    public int updateDeyuDialysis(DeyuDialysis deyuDialysis);

    /**
     * 批量删除腹透记录
     * 
     * @param ids 需要删除的腹透记录主键集合
     * @return 结果
     */
    public int deleteDeyuDialysisByIds(Long[] ids);

    /**
     * 删除腹透记录信息
     * 
     * @param id 腹透记录主键
     * @return 结果
     */
    public int deleteDeyuDialysisById(Long id);

    /**
     * 批量插入腹透记录
     *
     * @param deyuDialysisList 批量插入腹透记录
     * @return 结果
     */
    public int insertBatchDeyuDialysis(List<DeyuDialysis> deyuDialysisList);

    /**
     * 查询最近一周风险
     *
     * @param userId 用户id
     * @return 结果
     */
    public Long getNearlyAWeekOfRisk(Long userId);

    List<DeyuDialysis> summaryByDay(DeyuDialysis dialysis);

    int updateForCompletedTime(DeyuDialysis dialysis);
}
